#ifndef io_ofile_c_h
#define io_ofile_c_h

#include "../include/file.h"
#include "file_base_c.h"

using cmn::kbyte;
using cmn::dword;
using cmn::mem;
using io::ofile;

class ofile_c: public ofile
{
public:
	virtual dword	release();

	virtual bool	open(kcstr _file_name);

	virtual bool	open(kcwstr _file_name);

	virtual void	close();

	virtual bool	seek(dword _offset, seek_dir _dir);

	virtual bool	is_open()	const;

	virtual dword	tell()		const;

	virtual dword	length()	const;

	virtual kcstr	name()		const;

	virtual dword	write(const void* _mem, dword _size);

private:
	file_base m_file_impl;	
};

#endif
